Sequelize에서 대소문자 구분 없이 Select하기

✒️ 2025-05-26 15:11 내용 수정


SELECT * FROM Music WHERE LOWER(musicName) LIKE LOWER(name) AND userId = userId
// Sequelize와 Op 사용
const { Op, Sequelize } = require("sequelize");

// MySQl에서 Model 객체로 데이터 조회
app.get("/search", async (req, res) => {
	musicList= await Music.findAll({
	// where 절 시작 WHERE ~
	  where: Sequelize.and( // and 조건을 걸 영역
			  Sequelize.where( // 이중으로 설정
				Sequelize.fn('lower', Sequelize.col('musicName')), // 소문자로 변환
				{[Op.like]:`%${name.toLowerCase()}%`} 
				// lower(musicName) LIKE lower(name)
			  ),
			{userId} // AND userId = userId
		  )
	});
// 데이터를 페이지에 포워딩
res.render("main.ejs", {username, userId, musicList, genreList});
}